The present invention relates to a computer database with copies stated on different computers in the network which can be assessed and updated from individual computers an the network.
It is knows to replicate a keyed indexed 2-dimensional database over a computer network and i particular to, replicate changes in that database which have been made to different copies.
Replication describes the ability of databases to maintain multiple copies, or replicas, so that if a change is made to one copy of the database it will be replicated to the other copies. Replication can be one-way, meaning that only changes to a master copy will be replicated to the other copies, or two-way, meaning that one or a number of copies may be changed and that changes made will be reflected in all replica copies.
It is known to store data in multidimensional form in order to permit easy retrieval of particular slices of data from a multidimensional data set. Lotus Notes (copyright) is one database programme having the replication feature. However, it is essentially a 2-dimensional database program.
The invention provides a network of computers having:
i) individual data entry means;
ii) at least one communications link for transferring data entered from a said data entry means to other computers in the network;
iii) a distributed N-dimensional database accessible and updateable by mid computers, N being an integer greater than two, said N-dimensional database comprising:
a) a Plurality of M-dimensional arrays where in is an integer greater than one and less than N, and
b) an ordered list of keys, each key being associated with a particular M-dimensional array and having a sting of N-M components which identify the associated M-dimensional army, said sting defining the order of the key in said list;
iv) searching means for finding a desired array in response to entry of said key from a said data entry means;
v) updating means for modifying a found M-dimensional array, and
vi) replicating means for replicating modifications to said modified M-dimensional array am the network.
Preferably M=2.
In one embodiment at least one of said M-dimensional arrays has a hierarchical structure, rows and/or columns at one level in the hierarchy being divided into groups at an adjacent lower level in the hierarchy and the levels in the hierarchy being selectable by individual users.
Preferably, levels in said hierarchical structure below the top level are associated with extra components in the string of the key corresponding to the top level of the hierarchy.
Preferably said replicating means comprises programmes for transmitting modifications to the distributed database over the network at predetermined intervals.
Preferably Sam program means further comprises override means for forcing a replication of modifications to the distributed database in response to entry of a command from a data entry means.
Preferably the network comprises spreadsheet means for performing calculation on the data in said distributed database.
The invention also provides a corresponding method of updating and accessing such a database.